
package com.hlkj.pay.service.order;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.PageResult;
import com.hlkj.pay.dto.order.RefundOrderQueryDto;
import com.hlkj.pay.infrastructure.model.order.RefundOrderDO;

import java.util.List;

/**
 * @author HlpayTeam
 * @date 2024/10/10 15:22
 */
public interface IRefundOrderService {

    /**
     * 保存订单数据
     * 
     * @param payOrderDO
     */
    void addRefundOrder(RefundOrderDO payOrderDO);

    /**
     * 通过平台订单号查询订单
     * 
     * @param refundOrderNo
     * @return
     */
    RefundOrderDO queryRefundOrder(String refundOrderNo);

    /**
     * 通过商户订单号查询订单
     *
     * @param mchRefundOrderNo
     * @return
     */
    RefundOrderDO queryRefundOrderByMerOrderNo(String sn,String mchRefundOrderNo);

    /**
     * 
     * @param updateRefundOrderDO
     */
    void updateRefundOrder(RefundOrderDO updateRefundOrderDO, String refundOrderNo, String sn,String mchRefundOrderNo);
    /**
     *
     * @param payOrderNo
     * @return
     */
    RefundOrderDO queryRefundLastOne(String payOrderNo);
    /**
     *
     * @param refundOrderQueryDto
     * @return
     */
    PageResult<RefundOrderDO> queryPage(RefundOrderQueryDto refundOrderQueryDto);

    /**
     *
     * @param refundOrderQueryDto
     * @return
     */
    Integer orderCount(RefundOrderQueryDto refundOrderQueryDto);

    /**
     *
     * @param refundOrderQueryDto
     * @return
     */
    List<RefundOrderDO> queryList(RefundOrderQueryDto refundOrderQueryDto);
}
